Microsoft Corporation's "WINDOWS 95" operating system introduced a component called the Windows Explorer, which provides an effective way to view the hierarchy of folders and subfolders associated with a file store. The Windows Explorer user interface (UI) allows a user to view a list of folders and immediately determine whether each folder includes subfolders. This is accomplished by displaying a "+" next to unexpanded folders that include subfolders and a "-" next to expanded folders that include subfolders. No special indicia are displayed next to folders that do not include subfolders.
In some electronic messaging systems, the message stores employ hierarchies that are similar to a typical file store. In these systems, a user may create a hierarchy of folders that include subfolders or message items or both. This allows a user to effectively organize and manage his or her mailbox by filing each electronic message in an appropriate folder.
The Internet Message Access Protocol (IMAP) is an example of a messaging protocol that supports these types of message store hierarchies. IMAP defines a method of accessing electronic mail or bulletin board messages that are kept in a message store on a remote mail server. IMAP permits an e-mail client program to access remote message stores as if they were local. Messages stored on an IMAP server can be easily manipulated by a user who uses multiple computers (e.g., a workstation at the office and a notebook on the road) without requiring the user to transfer messages or files back and forth between his or her computers.
Where message stores employ hierarchies that are similar to other types of file stores, it is preferable to use a consistent user interface to display these hierarchies. This is advantageous because the most effective user interface can be employed in both contexts and the user does not have to become familiar with multiple methods of displaying similar information. However, when attempting to display hierarchies stored in remote data stores, which include file stores and message stores, the goal of providing useful information in a consistent user interface may conflict with considerations regarding response time and bandwidth.
Current IMAP e-mail client programs download the message hierarchy from the server in one of two ways. Most IMAP clients download the entire hierarchy at one time, usually during boot up. Depending on the size of the hierarchy, this can be very time consuming and require a lot of bandwidth. In order to update the display, the client must download the entire hierarchy again. Other IMAP clients conserve bandwidth by retrieving only one level of the hierarchy at a time in response to user demand (e.g., expanding a folder).
Although downloading the hierarchy one level at a time allows the e-mail client to display the current level of the hierarchy and conserves bandwidth, it does not allow the e-mail client to indicate whether each displayed folder includes subfolders. In order to display a "+" or other indicia indicating the presence of subfolders, the e-mail client must also retrieve information regarding the contents of the displayed subfolders. Downloading the entire hierarchy each time a folder is expanded provides the required information and allows the e-mail client to accurately display the hierarchy using a Windows Explorer-type UI. However, downloading the entire hierarchy may require a significant amount of bandwidth and result in an unacceptable response time.
Therefore, there is a need in the art for an improved method for updating and displaying a remote data store's hierarchy. The improved method should allow an e-mail client or other client application to indicate whether each displayed folder includes subfolders and should minimize both the response time and the amount of bandwidth required to transfer the hierarchy information.